package jpa.entitys.promis.common;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the PMS_PAYMENT_RECEIPT_DETAILS database table.
 * 
 */
@Entity
@Table(name="PMS_PAYMENT_RECEIPT_DETAILS")
@NamedQueries({
    @NamedQuery(name = "PmsPaymentReceiptDetail.findAll", query = " SELECT c FROM PmsPaymentReceiptDetail c "),
    @NamedQuery(name = "PmsPaymentReceiptDetail.findById", query = " SELECT c FROM PmsPaymentReceiptDetail c WHERE c.id = :Id "),
    @NamedQuery(name = "PmsPaymentReceiptDetail.findByStatus", query = " SELECT c FROM PmsPaymentReceiptDetail c WHERE c.syncIssync = 'N' And c.status = :status"),
})
public class PmsPaymentReceiptDetail extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private PmsPaymentReceiptDetailPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="ADDRESS_CODE", precision=2)
	private BigDecimal addressCode;

	@Column(name="AMOUNT_RECEIVED", precision=16, scale=2)
	private BigDecimal amountReceived;

	@Column(name="AR_REFERENCE_NUMBER", precision=6)
	private BigDecimal arReferenceNumber;

	@Column(name="AR_REFERENCE_SEQ", precision=6)
	private BigDecimal arReferenceSeq;

	@Column(name="AR_REFERENCE_SERIES", length=4)
	private String arReferenceSeries;

	@Column(name="AR_REFERENCE_TYPE", length=2)
	private String arReferenceType;

	@Column(name="BANK_CARD_READER", length=30)
	private String bankCardReader;

	@Column(name="BANK_CHARGE", precision=16, scale=2)
	private BigDecimal bankCharge;

	@Column(name="BANK_CODE", length=50)
	private String bankCode;

	@Column(name="BANK_RATE", precision=16, scale=2)
	private BigDecimal bankRate;

	@Column(name="CHEQUE_AMOUNT", precision=16, scale=2)
	private BigDecimal chequeAmount;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CHEQUE_DUE_DATE")
	private Date chequeDueDate;

	@Column(name="CHEQUE_ISSUING_BANK", length=50)
	private String chequeIssuingBank;

	@Column(name="CHEQUE_NUMBER", length=16)
	private String chequeNumber;

	@Column(name="CHEQUE_PAYEE_AC", length=30)
	private String chequePayeeAc;

	@Column(length=2)
	private String company;

	@Column(name="CONTRACT_NO", precision=22)
	private BigDecimal contractNo;

	@Column(name="CONTRACT_SEQ", precision=22)
	private BigDecimal contractSeq;

	@Column(name="CONTRACT_SERIES", length=4)
	private String contractSeries;

	@Column(name="CREDIT_CARD_TYPE", length=30)
	private String creditCardType;

	@Column(name="CUSTOMER_CODE", length=30)
	private String customerCode;

	@Column(name="INSTALLMENT_NUMBER", precision=3)
	private BigDecimal installmentNumber;

	@Column(name="INSTALLMENT_SEQ", precision=3)
	private BigDecimal installmentSeq;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INVOICE_REF_DATE")
	private Date invoiceRefDate;

	@Column(name="INVOICE_REF_NO", length=30)
	private String invoiceRefNo;

	@Column(name="PAYMENT_TYPE", length=2)
	private String paymentType;

	@Column(length=30)
	private String project;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="RECEIPT_DATE")
	private Date receiptDate;

	@Column(name="RECEIPT_NUMBER", precision=6)
	private BigDecimal receiptNumber;

	@Column(name="RECEIPT_SERIES", length=4)
	private String receiptSeries;

	@Column(name="RECEIPT_TYPE", length=30)
	private String receiptType;

	@Column(name="RECEIVED_TYPE", length=1)
	private String receivedType;

	@Column(name="REVISION_NUMBER", precision=3)
	private BigDecimal revisionNumber;

	@Column(name="SERVICE_VAT_FLAG", length=1)
	private String serviceVatFlag;

	@Column(length=30)
	private String status;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TAX_RATE", precision=5, scale=2)
	private BigDecimal taxRate;

	@Column(name="TAX_TYPE_CODE", length=2)
	private String taxTypeCode;

	@Column(name="TYPE_OF_CONTRACT", length=2)
	private String typeOfContract;

	@Column(name="UNIT_NUMBER", length=30)
	private String unitNumber;

	@Column(name="VAT_BASE_RECEIVED", precision=16, scale=2)
	private BigDecimal vatBaseReceived;

	@Column(name="VAT_CODE", length=2)
	private String vatCode;

	@Column(name="VAT_RECEIVED", precision=16, scale=2)
	private BigDecimal vatReceived;

	@Column(name="WHT_AMOUNT", precision=16, scale=2)
	private BigDecimal whtAmount;

	@Column(name="WHT_RATE", precision=5, scale=2)
	private BigDecimal whtRate;

	@Column(name="WHT_TYPE", length=2)
	private String whtType;

    public PmsPaymentReceiptDetail() {
    }

	public PmsPaymentReceiptDetailPK getId() {
		return this.id;
	}

	public void setId(PmsPaymentReceiptDetailPK id) {
		this.id = id;
	}
	
	public BigDecimal getAddressCode() {
		return this.addressCode;
	}

	public void setAddressCode(BigDecimal addressCode) {
		this.addressCode = addressCode;
	}

	public BigDecimal getAmountReceived() {
		return this.amountReceived;
	}

	public void setAmountReceived(BigDecimal amountReceived) {
		this.amountReceived = amountReceived;
	}

	public BigDecimal getArReferenceNumber() {
		return this.arReferenceNumber;
	}

	public void setArReferenceNumber(BigDecimal arReferenceNumber) {
		this.arReferenceNumber = arReferenceNumber;
	}

	public BigDecimal getArReferenceSeq() {
		return this.arReferenceSeq;
	}

	public void setArReferenceSeq(BigDecimal arReferenceSeq) {
		this.arReferenceSeq = arReferenceSeq;
	}

	public String getArReferenceSeries() {
		return this.arReferenceSeries;
	}

	public void setArReferenceSeries(String arReferenceSeries) {
		this.arReferenceSeries = arReferenceSeries;
	}

	public String getArReferenceType() {
		return this.arReferenceType;
	}

	public void setArReferenceType(String arReferenceType) {
		this.arReferenceType = arReferenceType;
	}

	public String getBankCardReader() {
		return this.bankCardReader;
	}

	public void setBankCardReader(String bankCardReader) {
		this.bankCardReader = bankCardReader;
	}

	public BigDecimal getBankCharge() {
		return this.bankCharge;
	}

	public void setBankCharge(BigDecimal bankCharge) {
		this.bankCharge = bankCharge;
	}

	public String getBankCode() {
		return this.bankCode;
	}

	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}

	public BigDecimal getBankRate() {
		return this.bankRate;
	}

	public void setBankRate(BigDecimal bankRate) {
		this.bankRate = bankRate;
	}

	public BigDecimal getChequeAmount() {
		return this.chequeAmount;
	}

	public void setChequeAmount(BigDecimal chequeAmount) {
		this.chequeAmount = chequeAmount;
	}

	public Date getChequeDueDate() {
		return this.chequeDueDate;
	}

	public void setChequeDueDate(Date chequeDueDate) {
		this.chequeDueDate = chequeDueDate;
	}

	public String getChequeIssuingBank() {
		return this.chequeIssuingBank;
	}

	public void setChequeIssuingBank(String chequeIssuingBank) {
		this.chequeIssuingBank = chequeIssuingBank;
	}

	public String getChequeNumber() {
		return this.chequeNumber;
	}

	public void setChequeNumber(String chequeNumber) {
		this.chequeNumber = chequeNumber;
	}

	public String getChequePayeeAc() {
		return this.chequePayeeAc;
	}

	public void setChequePayeeAc(String chequePayeeAc) {
		this.chequePayeeAc = chequePayeeAc;
	}

	public String getCompany() {
		return this.company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public BigDecimal getContractNo() {
		return this.contractNo;
	}

	public void setContractNo(BigDecimal contractNo) {
		this.contractNo = contractNo;
	}

	public BigDecimal getContractSeq() {
		return this.contractSeq;
	}

	public void setContractSeq(BigDecimal contractSeq) {
		this.contractSeq = contractSeq;
	}

	public String getContractSeries() {
		return this.contractSeries;
	}

	public void setContractSeries(String contractSeries) {
		this.contractSeries = contractSeries;
	}

	public String getCreditCardType() {
		return this.creditCardType;
	}

	public void setCreditCardType(String creditCardType) {
		this.creditCardType = creditCardType;
	}

	public String getCustomerCode() {
		return this.customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public BigDecimal getInstallmentNumber() {
		return this.installmentNumber;
	}

	public void setInstallmentNumber(BigDecimal installmentNumber) {
		this.installmentNumber = installmentNumber;
	}

	public BigDecimal getInstallmentSeq() {
		return this.installmentSeq;
	}

	public void setInstallmentSeq(BigDecimal installmentSeq) {
		this.installmentSeq = installmentSeq;
	}

	public Date getInvoiceRefDate() {
		return this.invoiceRefDate;
	}

	public void setInvoiceRefDate(Date invoiceRefDate) {
		this.invoiceRefDate = invoiceRefDate;
	}

	public String getInvoiceRefNo() {
		return this.invoiceRefNo;
	}

	public void setInvoiceRefNo(String invoiceRefNo) {
		this.invoiceRefNo = invoiceRefNo;
	}

	public String getPaymentType() {
		return this.paymentType;
	}

	public void setPaymentType(String paymentType) {
		this.paymentType = paymentType;
	}

	public String getProject() {
		return this.project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public Date getReceiptDate() {
		return this.receiptDate;
	}

	public void setReceiptDate(Date receiptDate) {
		this.receiptDate = receiptDate;
	}

	public BigDecimal getReceiptNumber() {
		return this.receiptNumber;
	}

	public void setReceiptNumber(BigDecimal receiptNumber) {
		this.receiptNumber = receiptNumber;
	}

	public String getReceiptSeries() {
		return this.receiptSeries;
	}

	public void setReceiptSeries(String receiptSeries) {
		this.receiptSeries = receiptSeries;
	}

	public String getReceiptType() {
		return this.receiptType;
	}

	public void setReceiptType(String receiptType) {
		this.receiptType = receiptType;
	}

	public String getReceivedType() {
		return this.receivedType;
	}

	public void setReceivedType(String receivedType) {
		this.receivedType = receivedType;
	}

	public BigDecimal getRevisionNumber() {
		return this.revisionNumber;
	}

	public void setRevisionNumber(BigDecimal revisionNumber) {
		this.revisionNumber = revisionNumber;
	}

	public String getServiceVatFlag() {
		return this.serviceVatFlag;
	}

	public void setServiceVatFlag(String serviceVatFlag) {
		this.serviceVatFlag = serviceVatFlag;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public BigDecimal getTaxRate() {
		return this.taxRate;
	}

	public void setTaxRate(BigDecimal taxRate) {
		this.taxRate = taxRate;
	}

	public String getTaxTypeCode() {
		return this.taxTypeCode;
	}

	public void setTaxTypeCode(String taxTypeCode) {
		this.taxTypeCode = taxTypeCode;
	}

	public String getTypeOfContract() {
		return this.typeOfContract;
	}

	public void setTypeOfContract(String typeOfContract) {
		this.typeOfContract = typeOfContract;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

	public BigDecimal getVatBaseReceived() {
		return this.vatBaseReceived;
	}

	public void setVatBaseReceived(BigDecimal vatBaseReceived) {
		this.vatBaseReceived = vatBaseReceived;
	}

	public String getVatCode() {
		return this.vatCode;
	}

	public void setVatCode(String vatCode) {
		this.vatCode = vatCode;
	}

	public BigDecimal getVatReceived() {
		return this.vatReceived;
	}

	public void setVatReceived(BigDecimal vatReceived) {
		this.vatReceived = vatReceived;
	}

	public BigDecimal getWhtAmount() {
		return this.whtAmount;
	}

	public void setWhtAmount(BigDecimal whtAmount) {
		this.whtAmount = whtAmount;
	}

	public BigDecimal getWhtRate() {
		return this.whtRate;
	}

	public void setWhtRate(BigDecimal whtRate) {
		this.whtRate = whtRate;
	}

	public String getWhtType() {
		return this.whtType;
	}

	public void setWhtType(String whtType) {
		this.whtType = whtType;
	}

}